Lighting controller for sea lice detection

ABSTRACT

Methods, systems, and apparatus, including computer programs encoded on computer-storage media, for a lighting controller for sea lice detection. In some implementations, a pulse of red light and a pulse of blue light can be timed with the exposure of a camera to capture multiple images of a fish or group of fishes in both red and blue light. By using the captured images with different color light, computers can detect features on the body of a fish including sea lice, skin lesions, shortened operculum or other physical deformities and skin features. Detection results can aid in mitigation techniques or be stored for analytics. For example, sea lice detection results can inform targeted treatments comprised of lasers, fluids, or mechanical devices such as a brush or suction.

TECHNICAL FIELD

This specification generally describes lighting controllers,particularly those used for aquaculture.

BACKGROUND

Sea lice feed on the mucus epidermal tissue and blood of host marinefish. Sea lice infestations can be a major problem in fish farming,since heavy infections can lead to deep lesions, particularly on thehead region. Sea lice infestations can kill or render salmon unsuitablefor market.

SUMMARY

By capturing a detailed image of a fish, image analysis can be performedto detect sea lice or other skin features, including lesions, on thefish. Detection can be automatic and can inform various techniques ofmitigation. For sea lice detection, mitigation can include methods ofdelousing. To capture an image, illuminator lights with specificfrequencies are controlled by a lighting controller to coincide withcamera exposures. The specific frequency of light is chosen forproperties likely to aid in the detection of sea lice as well as skinlesions, shortened operculum or other physical deformities and skinfeatures. Illuminator light controllers can use pulse patterns toilluminate a fish with specific frequency light.

Advantageous implementations can include one or more of the followingfeatures. For example, red and blue light-emitting diodes (LEDs)alternately cast light on a fish within the field of view of one or morecameras. A camera can transfer images to a computer which performsvisual analysis to detect attached sea lice. The different color lightcan highlight different features of interest along with improvingclarity for sea lice detection. By combining images or analyzingseparate images, analysis can inform sea lice detection.

The wavelength of a beam of light can change depending on the medium inwhich the beam propagates. The visible spectrum is continuous.Wavelength ranges for given colors within the continuous spectrum areapproximate but wavelength or frequency can be used to clearlydifferentiate two or more colors.

In some implementations, the detection information for specific fish canbe stored. The stored data can be used for lice mitigation, otherdiagnoses, or in producing analytics. For example, a fish can bedetected by a system employing image analysis to have a certain quantityof sea lice attached to the right-side gill. This information can bepassed to an automatic delouse, which can remove the sea lice. Inaddition, this information can be stored on a server to informpopulation analytics.

In some implementations, the lighting controller can use pairs of lightpulses. For example, the lighting controller can use a red light and ablue light to illuminate a fish. The red light and the blue light canalternate illuminating the fish such that, at some point, the fish isilluminated by the red light and at another point the fish isilluminated by the blue light. Images can be captured of the fish whileit is being illuminated by the red light. Images can also be captured ofthe fish while it is being illuminated by the blue light. Imageprocessing can combine an image captured with red light illumination andan image captured with blue light illumination to determine if the fishhas a certain condition. Conditions can include a sea lice infection, alesion on the body of the fish, or a physical deformity such as ashortened operculum.

The lighting controller can be used in any area with fish. For example,the lighting controller can be used within a fish pen. The lightingcontroller can also be used within a fish run.

In some implementations, the lighting controller can include a bluelight with a specific frequency range. For example, the lightingcontroller can include a blue light that can produce peak power within awavelength range of 450 nanometers to 480 nanometers.

In some implementations, the lighting controller can have a certainfrequency at which illuminators alternate. For example, the lightingcontroller can use pairs of light pulses which alternate on and off morethan sixty times a second. The specific frequency can be chosen toensure that a fish does not perceive the illuminators alternating. Thespecific frequency can be chosen to ensure that a fish perceives theilluminators as steady sources of light.

In some implementations, camera exposures can be timed to coincide withperiods of time in which a fish is illuminated. For example, a cameracan open for exposures for a portion of time between when an illuminatoris on and illuminating a fish and when the illuminator is off and notilluminating the fish. In some implementations, a camera can open forexposures for a portion of time between when an illuminator is off andnot illuminating a fish and when the illuminator is on and illuminatingthe fish.

In some implementations, the lighting controller can activateilluminators without any overlap. For example, the lighting controllercan illuminate a fish with a blue light for a period of time. Thelighting controller can then stop illuminating the fish with the bluelight. The lighting controller can then illuminate a fish with a redlight for a period of time.

In some implementations, machine learning can be used to inform elementsof the detection process. For example, the lighting controller can varythe time of camera exposure or illumination depending on currentbackground lighting levels or the type of fish detected in the field ofview. In some cases, the lighting controller or image analysis processcan use positive or negative detection results to inform machinelearning. For example, the lighting controller can use a learning dataset of known sea lice infected fish and adjust illumination frequency,exposure lengths, or other parameter to produce a greater number ofaccurate detections or fewer inaccurate detections.

In some implementations, an image buffer can be used to help aid inimage capture. For example, a camera can capture an exposure for anamount of time and save a resulting image to an image buffer. The cameracan continue to save images to the image buffer until the image bufferis full. Images saved to the image buffer can be transferred to anotherdevice or computer. In some cases, an image buffer can be used to reducethe amount of time in between consecutive image captures. Reducing theamount of time in between consecutive image captures can be advantageouswhen combining two or more images (e.g., an image captured of a fishilluminated with a red light and an image captured of the fishilluminated with a blue light).

The details of one or more embodiments of the invention are set forth inthe accompanying drawings and the description below. Other features andadvantages of the invention will become apparent from the description,the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an example of a system for sea licedetection.

FIG. 2 is a diagram of an exposure pattern.

FIG. 3 is a diagram of an alternative exposure pattern.

FIG. 4 is a diagram of another alternative exposure pattern.

FIG. 5 is a flow diagram illustrating an example of a process for sealice detection using a lighting controller.

FIGS. 6A, 6B, and 6C are diagrams of custom Bayer filters.

FIG. 7 is a diagram of a method for image collection using a beamsplitter.

FIG. 8 is a diagram of a method for image collection using a rotatingmirror.

FIG. 9 is a diagram of a method for image collection using a pair ofstereo cameras.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

FIG. 1 is a diagram showing an example of a system 100 for sea licedetection. The system 100 is comprised of a fish pen 101, a control unit120, two primary illuminators 102 and 104, a camera 105, and the fish109. The fish pen 101 is formed with netting, e.g., rope, nylon, orsilk. Illuminators can be controlled with signals from a lightingcontroller. In some implementations, the lighting controller can beconnected to the control unit 120. The fish 109 can be a member of apopulation of fish located with the fish pen 101. In this example, thefish is a salmon with sea lice on its body.

In some implementations, the detection of sea lice can include specificspecies of sea lice. For example, several species of ectoparasiticcopepods of the genera Lepeophtheirus and Caligus. The type of fishbeing analyzed can affect the process of sea lice detection. Forexample, upon detection of a salmon, a system can adapt a system ofdetection for the detection of Lepeophtheirus salmonis—a species of sealice which can be especially problematic for salmon. In someimplementations, a detection of a specific species of sea lice can beseparated from other sea lice detections. For example, a detection ofLepeophtheirus salmonis can be separated from sea lice detections ofCaligus curtis and Lepeophtheirus hippoglossi.

In FIG. 1, the fish pen 101 is shown at initial time τ₁ and later timeτ₂. The status (e.g., on/off) as well as the position of the contents ofthe fish pen 101 can change from time τ₁ to τ₂.

The times τ₁ and τ₂ correspond to the time at which a first image iscaptured (τ₁) and the time at which a second image is captured (τ₂). Insome implementations, different exposure techniques can enable sea licedetection with only a single image capture. The various exposuretechniques as well as exposure patterns are discussed below.

The two primary illuminators 102 and 104 are LEDs transmitting lightwithin specific frequency ranges. Illuminator 102 transmits light withinthe wavelength range of 440 nm to 485 nm and appears blue. The bluelight region is distinct from the cyan light region in that the bluelight region stretches from 450 nm wavelength up to 485 nm wavelength,while the wavelength of cyan light starts at 485 nm wavelength andincreases to 500 nm. Blue light can have peak power between 450 and 485nm wavelengths while cyan light can have peak power between 485 nm and500 nm wavelengths. Furthermore, the light of a blue LED used in thelighting controller can be concentrated towards the lower wavelengths ofthe blue light region creating a separation of blue light to cyan light.The separation can be thousands of gigahertz or greater which equates toroughly ten percent of the entire visible spectrum. A greater separationbetween red light (e.g., 625 nm to 780 nm wavelength) and blue light(e.g., 450 nm to 485 nm wavelength) can result in greater accuracy insea lice detection as well as detections of skin lesions, shortenedoperculum or other physical deformities and skin features.

Illuminator 104 transmits light within the wavelength range of 620 nm to750 nm and appears red. Frequency can be tuned to maximize frequencyspace separation while retaining visible light for camera image captureand minimizing environmental disruptions (e.g., light absorption, lightscattering).

The camera 105 captures visible light images. The exposures of camera105 can be timed with illumination of any other illuminators in the fishpen 101 (e.g., illuminator 102, illuminator 104, additionalilluminators). The exposure of camera 105 and illumination of anyilluminator can be controlled by the control unit 120.

In some implementations, secondary illuminators can be used. Secondaryilluminators can provide additional light for exposures of camera 105.For example, secondary illuminators can be used to brighten the image ofthe fish. This can be useful in situations where surface light isminimal. Secondary illuminators can also enable the ability to controlthe ambient light of an image capture which can be useful in controllingfor varying water conditions or location conditions.

In some implementations, more or fewer illuminators can be used. Forexample, in some situations, secondary illuminators may not be required.These situations may include applications where background light issufficient or does not pose challenges for sea lice detection. Lessilluminators can also be used by installing custom image filters tocapture an image or images.

Stage A in FIG. 1 shows a particular wavelength being selected by thecontrol unit 120. This wavelength can be used by light emitting diodes(LEDs) within the fish pen shown in item 101. The LEDs can be activatedto illuminate the fish 109. In some implementations, other forms oflight can be used. For example, instead of LEDs, incandescent lightbulbs can be used. Other forms of light production may be used foreither the primary set or a secondary set of illuminators.

In some implementations, the wavelengths can be set before imagingevents take place. For example, an LED can be installed which emitslight in the blue visible spectrum of light with wavelengths between 440nm and 485 nm. Another LED can be installed which emits light in the redvisible spectrum of light with wavelengths between 620 nm and 750 nm. Ingeneral, it can be advantageous to use dissimilar frequencies, one withlonger wavelength (towards infrared) and another with shorter wavelength(towards ultraviolet). Lights reaction in water should be considered andcan prevent some frequencies of light from propagating effectively andtherefore functioning properly as a primary illuminator.

In some implementations, the frequency of the illumination LEDs can betuned remotely. For example, revolving LED wheels can be used to pickfrom a variety of LEDs. LEDs can be chosen based on effectiveness.Criteria can include an ability to produce images likely to result intrue positive sea lice detection.

Stage B in FIG. 1 shows the pen 101 at time τ₁. The fish pen 101contains the fish 109, the camera 105, and the primary illuminators 102and 103. In this example, secondary illuminators are not used while theprimary illuminators 102 and 103 are used and are set to the colors redand blue, respectively. The illuminators can be controlled by a lightingcontroller (e.g., control unit 120) connected to the camera 105 or bythe camera 105 itself. The camera can time exposures as shown in FIG. 2,FIG. 3, and FIG. 4. The specifics of the different exposure patternswill be discussed later in this application.

At time τ₁, the blue LED illuminator fires and bathes the fish 109 inblue light. The camera 105 opens exposures to coincide with the blue LEDilluminator. The camera 105 can open exposures simultaneously with theflash of an illuminator or after the beginning of the flash.

Stage C in FIG. 1 shows an image 110 created by an exposure of camera105 and the illumination of the blue LED 102. The dot pattern in theimage 110 represents the color blue of the illuminator used to capturethe image. In the image 110, the fish 109 is shown with sea lice 111attached near the head.

In some implementations, multiple fish can be detected within an image.For example, the image taken by camera 105 can show multiple fish. Themultiple fish can have individual sea lice detections.

Stage D in FIG. 1 shows the pen 101 at time τ₂ temporally separated fromthe fish pen 101 at time τ₁. The fish 109 has moved from left to rightas the second illuminator, the red LED 104, fires. The firing of theilluminator 104 coincides with the exposure of camera 105. At time τ₂,the red LED illuminator 104 fires and bathes the fish 109 in red light.The camera 105 opens exposures to coincide with the red LED illuminator.The camera 105 can open exposures simultaneously with the flash of anilluminator or after the beginning of the flash.

Stage E in FIG. 1 shows an image 115 created by an exposure of camera105 and the illumination of the red LED 104. In contrast to theprimarily blue image 110, the image 115 is primarily red owing to theillumination of the red LED 104. This is represented by the absence ofthe dots used to represent the blue illumination in the image 110. Inthe image 115, the fish 109 is shown with sea lice 111 attached.

In some implementations, the exposure of camera 105 need not besimultaneous with illuminators. For example, the blue LED 102 can firebefore the camera 105 begins capturing images or after. Images capturedby the camera 105 can be selected based on illuminator status duringimage capture.

Stage F in FIG. 1 involves feature selection. Feature selection can be aform of image analysis performed on images (e.g., image 110, image 115).In some implementations, image 110 and image 115 can be combined. Imageanalysis can be performed to detect features on the body of the fish109. The image analysis can be performed by various computationalmethods including algorithms, neural networks, or linear regressions.

In some implementations, the image analysis may be composed of multiplesteps. For example, a rough object identifier may be used to detect thefish 109 within the image 110. A second object identifier may use theoutput of the first object identifier to locate objects on the fish 109(e.g., the sea lice 111). The multiple steps can be performed by variouscomputational methods including algorithms, neural networks, or linearregressions.

Stage G in FIG. 1 involves detecting sea lice based on the imageanalysis performed. In some implementations, the image of the body ofthe fish can be separated from the background. Other pre-processingmethods can prepare stages of image analysis. Sea lice surrounding andoverlaying the image of the body can be detected and counted andattributed to a specific fish. Tallies of sea lice can be kept forindividual fish, groups of fish, or whole populations. Detected sea licedata can be used by the system to inform further steps either formitigation or analytics.

Stage H in FIG. 1 shows a possible act related to the detection of sealice. In some implementations, the act can be a form of sea licemitigation. Techniques can include focused laser light where providedcoordinates from the detected sea lice data can be used to target thelasers. Sea lice mitigation can take place in sync with detection orafter detection. Detected sea lice data can be stored for future sealice mitigation, or for analytics, by other devices within the system.In some implementations, the system 100 can store detected sea lice dataand inform human workers to proceed with a sea lice mitigationtechnique. For example, infected fish can be tagged with a locationwhich workers can use to catch and delouse the fish.

Stage I in FIG. 1 shows the output 121 of the control unit 120. Thedetection output 121 can include data related to the event of sea licedetection. For example, the detection output 121 can includeinstructions for sea lice mitigation, data related to the fish 109, ordata related to the sea lice 111. For example, the detection output canspecify that seven sea lice are on the fish 109 at specific coordinatesor attached to specific features of the fish. The output can specifythat sea lice mitigation for fish 109 should be conducted by hand. Thisdata can be stored or used within other systems connected to or withinsystem 100.

The system 100 can also be useful in detecting other conditions. Forexample, skin lesions on a fish can be detected using similar methodsand processes. In some implementations, instead, or in addition to,analyzing images illuminated by different frequencies of light forelements denoting sea lice infection, a system can perform otheranalysis. For example, a system can analyze images illuminated bydifferent frequencies of light for elements denoting skin lesions orphysical deformities such as shortened operculum.

FIG. 2 is a diagram of an exposure pattern 200 which can be used by alighting controller of system 100. The exposure pattern 200 is comprisedof a blue LED 201, red LED 204 and a camera 206. The boxes similar toitem 202 represent time intervals in which the blue LED 201 isilluminating. The boxes similar to item 205 represent time intervals inwhich the red LED 204 is illuminating. The boxes similar to item 207represent time intervals in which the camera 206 is open for exposures.The time interval of the blue LED illumination 202 and the time intervalof the red LED illumination 205 can be considered an initial pair oflight pulses 203. Succeeding pairs of light pulses may follow theinitial pair.

Proceeding within FIG. 2 from left to right shows the progression ofexposure pattern from beginning to a later time. In this example, theblue LED 201 can fire for a duration of 5 milliseconds. The camera 206opens for exposure during this window. The exposure duration can varybut can overlap with the period of illumination from the blue LED 201.An image captured during the illumination of the blue LED 201 can bestored using a computer device connected to the camera 206 or the camera206 itself.

At the end of the illumination window, the blue LED 201 stopsilluminating. After the blue LED has stopped illuminating, the red LED204 begins illuminating. In some implementations, an overlap between thetwo LEDs can be used. For example, if the blue LED 201 illuminates fromtime 0 to time 5 ms, the red LED 204 can fire from time 4 ms to 9 ms.Furthermore, the time intervals of the LEDs illumination need not beidentical. For example, the blue LED 201 can illuminate for 5 ms whilethe red LED 204 illuminates for 10 ms.

In some implementations, a gap between sequential illuminations can beinserted. For example, after the illumination of the blue LED 201 butbefore the illumination of the red LED 204, the pattern 200 can containa 1 ms period of non-illumination. In some implementations, periods ofnon-illumination can be inserted to prevent a subject being illuminatedsimultaneously by the blue LED 201 and the red LED 204.

After a delay, the camera 206 can start exposures again. In someimplementations, this delay can be inserted to transfer an image to astorage device or somewhere within memory. For example, the delay can be40 ms. Different implementations can use different delay lengths. Inthis example, the delay corresponds to the time from the beginning ofone exposure to the beginning of the next exposure. The next exposurecan be of an illumination that has not previously been captured. Forexample, if the illumination of the blue LED 201 was captured inexposure number one, the illumination of the red LED 204 can be capturedin exposure number two. In this example, the time between exposure oneand exposure two can be considered a delay.

While the camera is not capturing an exposure, the LEDs 201 and 204 canalternate. This alternating can be advantageous as it can help maintaina more steady illumination level. At a rate of around 100 Hz, forexample, alternating at a rate of up to 120 Hz, the alternating LEDs 201and 204 may appear similar to steady non-flashing lights. Advantageousimplementations may include maintaining a higher alternating rate forthe light source as steady non-flashing lights are more attractive tosome fish than flashing lights.

The exposure pattern 200 can continue for as long as is required. Insome implementations, the exposures will end after a subject has leftthe field of view of camera 206. Multiple images can be combined orprocessed separately. Single images can also be processed.

In some implementations, the red LED 204 can emit peak power at aspecific wavelength. For example, the red LED 204 can emit peak power ata wavelength between 625 nm and 780 nm. In some implementations, theblue LED 201 can emit peak power at a specific wavelength. For example,the blue LED 201 can emit peak power at a wavelength between 450 nm and485 nm.

FIG. 3 is a diagram of an exposure pattern 300 which can be inserted bya lighting controller of system 100. The exposure pattern 300 iscomprised of a blue LED 301, red LED 304 and a camera 306. The boxessimilar to item 302 represent time intervals in which the blue LED 301is illuminating. The boxes similar to item 305 represent time intervalsin which the red LED 304 is illuminating. The boxes similar to item 307represent time intervals in which the camera 306 is open for exposures.The time interval of the blue LED illumination 302 and the time intervalof the red LED illumination 305 can be considered an initial pair oflight pulses 303. Succeeding pairs of light pulses may follow theinitial pair.

Proceeding within FIG. 3 from left to right shows the progression ofexposure pattern from beginning to a later time. In this example, theblue LED 301 fires at time zero for a duration of 5 milliseconds. Thecamera 306 opens for exposure during this window for a duration of 4milliseconds. An image captured during the illumination of the blue LED301 can be stored using a computer device connected to the camera 306 orthe camera 306 itself.

At the end of the illumination window, the blue LED 301 stopsilluminating. After the blue LED has stopped illuminating, the red LED304 begins illuminating. In some implementations, an overlap between thetwo LEDs can be implemented. For example, if the blue LED 301illuminates from time 0 to time 5 ms, the red LED 304 can fire from time4 ms to 9 ms. Furthermore, the time intervals of the LEDs illuminationneed not be identical. For example, the blue LED 301 can illuminate for5 ms while the red LED 304 illuminates for 10 ms.

In some implementations, a gap between sequential illuminations can beinserted. For example, after the illumination of the blue LED 301 butbefore the illumination of the red LED 304, the pattern 300 can containa 1 ms period of non-illumination. In some implementations, periods ofnon-illumination can be inserted to prevent a subject being illuminatedsimultaneously by the blue LED 301 and the red LED 304.

After initial exposure 307, the camera 306 can start exposures again. Inthis example, the delay between first and second exposures is shorterthan exposure pattern 200. A shorter delay can be accomplished by usinga larger buffer to store multiple images captured within exposures. Agraph of the buffer is shown in item 310. The buffer graph 310 shows,relative to the horizontal axis of time, the amount of image data heldin the image buffer. Item 311 shows the buffer storage increase as theimage 307 is captured. Item 312 shows the buffer storage increase againas the image 308 is captured. An image from both exposure 307 andexposure 308 can be stored within the image buffer if the data stored isbelow a limit like the buffer limit line shown in item 314.

In order to stay within the buffer limit 314, the exposure pattern candelay to give time for the images stored in the buffer to be transferredout of the buffer onto another storage device. Different implementationscan use different delay lengths. The delay can be the time between twoconsecutive groups of exposures. For example, the delay for pattern 300can be 80 ms as measured from the beginning of exposure 307 to thebeginning of exposure 309. This delay may be calibrated to give enoughtime for the buffer to transfer data. The process of buffer transfer canbe seen in graph 310 as a downward slanted line.

In some implementations, different delay lengths as well as number ofexposures captured within an exposure group, can vary. For example,instead of two exposures within the first exposure group, four can beimplemented. In general, the number of exposures per group before aperiod of non-exposure depends on the size of the image buffer used.During a period of non-exposure, data can be offloaded from the imagebuffer. With a large image buffer, more images can be captured with lessdelay in between consecutive shots.

After a period of non-exposure, the camera 306 can resume exposures. Themoment to resume exposures can coincide with buffer storage availabilityas well as illumination from illuminators (e.g., the blue LED 301, thered LED 304). For example, exposure 307 is timed with illumination fromthe blue LED 301. Exposure 308 is timed with illumination from the redLED 304. After a period of non-exposure, the camera 306 can resumeexposures. The first exposure after a period of non-exposure can betimed with the blue LED 301 or with the red LED 304. In this case, theexposure after a period of non-exposure is timed with the blue LED 301.The exposure 309 after a period of non-exposure can also coincide withthe buffer storage availability as shown in graph 310.

While the camera is not exposing, the LEDs 301 and 304 can alternate.This alternating can be advantageous as it can help maintain a moresteady illumination level. At a rate of around 100 Hz or higher, thealternating LEDs 301 and 304 may appear similar to steady non-flashinglights which are more attractive to some fish than flashing lights.

The exposure pattern 300 can continue for as long as is required. Insome implementations, the exposures will end after a subject has leftthe field of view of camera 306. Multiple images can be combined orprocessed separately. Single images can also be processed.

In some implementations, the red LED 304 can emit peak power at aspecific wavelength. For example, the red LED 304 can emit peak power ata wavelength between 625 nm and 780 nm. In some implementations, theblue LED 301 can emit peak power at a specific wavelength. For example,the blue LED 301 can emit peak power at a wavelength between 450 nm and485 nm.

FIG. 4 is a diagram of an exposure pattern 400 which can be implementedby a lighting controller of system 100. The exposure pattern 400 iscomprised of a blue LED 401, red LED 404 and a camera 406. The boxessimilar to item 402 represent time intervals in which the blue LED 401is illuminating. The boxes similar to item 405 represent time intervalsin which the red LED 404 is illuminating. The boxes similar to item 407represent time intervals in which the camera 406 is open for exposures.The time interval of the blue LED illumination 402 and the time intervalof the red LED illumination 405 can be considered an initial pair oflight pulses 403. Succeeding pairs of light pulses may follow theinitial pair. In some cases, intervals in which neither the blue LED 401nor the red LED 404 is illuminated may be inserted between or within apair or pairs of light pulses.

Proceeding within FIG. 4 from left to right shows the progression ofexposure pattern from beginning to a later time. The time ofillumination can be set for each light source used in an exposurepattern. For example, in some implementations, the blue LED 401 can fireat time zero for a duration of 5 milliseconds. When the subject isilluminated with a light source, the camera 406 can open for exposure.An image captured during the illumination of the blue LED 401 can bestored using a computer device connected to the camera 406 or the camera406 itself.

At the end of the illumination window, the blue LED 401 stopsilluminating. After the blue LED has stopped illuminating, the red LED404 begins illuminating. In some implementations, an overlap between thetwo LEDs can be used. For example, if the blue LED 401 illuminates fromtime 0 to time 5 ms, the red LED 204 can fire from time 4 ms to 9 ms.Furthermore, the time intervals of the LEDs illumination need not beidentical. For example, the blue LED 401 can illuminate for 5 ms whilethe red LED 404 illuminates for 10 ms. Other durations can also be used.

In some implementations, a gap between sequential illuminations can beinserted. For example, after the illumination of the blue LED 401 butbefore the illumination of the red LED 404, the pattern 400 can containa 1 ms period of non-illumination. In some implementations, periods ofnon-illumination can be inserted to prevent a subject being illuminatedsimultaneously by the blue LED 401 and the red LED 404.

After a delay, the camera 406 starts exposures again. In someimplementations, this delay can be inserted to transfer the image to astorage device or somewhere within memory. For example, the delay can be40 ms from exposure 407 to exposure 408. Different implementations canuse different delay lengths. The delay corresponds to the timedifference between two sequential camera exposures. For example, if theblue LED 401 illumination was captured in exposure 407, the red LED 404illumination can be captured in exposure 408 after a given delay.

After another delay, the camera 406 exposes again shown in item 409. Theexposure 409 captures an image while no illuminators are illuminated. Inthe moments before, the blue LED 401 illuminates, followed by the redLED 404 but the exposure pattern 400 includes a period ofnon-illumination after the red LED 404 within the sequence. The exposure409 can be used to get additional data. For example, the exposure 409can be used to get data on background lighting. This can be useful insituations where other regions of light may be of interest. The imagescaptured without illumination from the blue LED 401 or the red LED 404can be used in other processes. For example, the exposure 409 can beused to get readings on water condition. The pattern of blue LEDexposure 407, red LED exposure 408 followed by non-LED exposure 409 canbe used repeatedly in the exposure pattern 400.

While the camera is not exposing, the LEDs 401 and 404 can alternate.This alternating can be advantageous as it can help maintain a moresteady illumination level. At a rate of around 80 to 120 Hz, thealternating LEDs 401 and 404 may appear similar to steady non-flashinglights when perceived by an eye of a human or a fish. Advantageousimplementations may include maintaining a higher alternating rate forthe light source as steady non-flashing lights are more attractive tosome fish than flashing lights.

The exposure pattern 400 can continue for as long as is required. Insome implementations, the exposures will end after a subject has leftthe field of view of camera 406. Multiple images can be combined orprocessed separately. Single images can also be processed.

The LEDs used as illuminators in the example exposure patterns 200, 300,and 400 can be replaced by non LED light sources. The LEDs need not bered and blue wavelength but can be of any wavelength. Advantageousimplementation can include using red and blue LEDs with wavelengthranges of between 440 nm and 485 nm for blue and 620 nm and 750 nm forred.

In experiments, capturing a few images of lice on salmon, analysis wasperformed with frequency ranging from violet (400 nm wavelength) tonear-infrared (1000 nm wavelength). A classifier, with a regularizedparameter across which frequency bins were used as an input, was trainedand chose to use the shortest and longest wavelengths. Othercombinations of various greens and blues (which matched the LEDs capableof functioning within the lighting apparatus) were used but theperformance of the red and blue LED combination was superior. Additionalsubjective tests comparing various lighting schemes reached the sameconclusion.

The rate at which the LEDs alternate can be fast enough to make thealternating LEDs appear as steady, non-flashing lights, when perceivedby an eye of a human or a fish. For example, the LEDs can alternate at afrequency of 80 to 120 Hz. A high alternating rate is advantageous as itallows the flashing to be less noticeable by the fish being illuminatedas well as reducing the time, and thus the visual differences, betweenconsecutive snapshots of the fish when exposure patterns are used.Reducing visual differences can help reduce complexity and improve theresulting accuracy of any later image combination.

Specific orders have been shown for the exposure patterns 200, 300, and400. The sequence of exposure patterns 200, 300, and 400 can be swappedwithout departing from the ideas therein. For example, in FIG. 4, thefirst exposure can be with the red LED 404 illuminating while the secondcan be an exposure with no illumination.

FIG. 5 shows a process 500 for sea lice detection using a lightingcontroller.

The process 500 includes preparing an illumination system and a camerasystem (502). For example, control unit 120 from FIG. 1 can select thewavelength used for illuminating the fish 109.

The process 500 includes detecting fish motion within the field of viewof the camera system (504). For example, as the fish 109 swims withinthe field of view of the camera 105, the illuminators 102, 104, 106, or107 and the camera 105 can coordinate through signals sent from controlunit 120 in a manner similar to those discussed in FIG. 2, FIG. 3, orFIG. 4.

The process 500 includes using a lighting controller exposure pattern,involving the illumination system and the camera, to capture fish images(506). For example, a specific exposure pattern similar to pattern 200of FIG. 2 can be used with the blue LED 201 and red LED 204 functioningas the illumination system and the camera 206 functioning as the camera.

The process 500 includes analyzing captured fish images for sea lice(508). For example, the control unit can gather image 110 and image 115and perform image analysis to detect sea lice 111.

The process 500 includes storing results within a computer system (510).For example, control unit 120 can store the results of the imageanalysis involving image 110 and image 115.

The process 500 includes employing mitigation techniques based onresults (512). The mitigation techniques can include targeted treatmentswhich can be comprised of lasers, fluids, or mechanical devices such asa brush or suction. For example, the control unit 120 can activatelasers to focus intense light on a fish to remove sea lice from thefish. The lasers can use sea lice location data gleaned from the imageanalysis performed. The control unit 120 can also delegate themitigation to other systems or devices (e.g., other computer systems,humans).

In some implementations more or less than two lights can be used forilluminating the subject. For example, instead of the blue LED 102 andthe red LED 104, another LED of a different frequency or color can beadded. The illumination of any additional LED can be captured by acamera as images like the images 110 and 115.

In some implementations, more than one camera can be used. For example,instead of the camera 105 capturing images, an additional camera can beused to capture images. In some implementations, an additional cameracan capture alternate angles of a subject. For example, an additionalcamera within the fish pen 101 can capture one side of fish 109 whilethe camera 105 captures the other.

In some implementations, the illumination from illuminators can be ofany frequency. For example, instead of the blue and red LED lights usedby illuminator 102 and illuminator 104 respectively, infrared andultraviolet light can be used. The cameras used to capture images ofscenes illuminated by illuminators can have the ability to capture thespecific frequency of the illuminator. For example, if an illuminator isilluminating ultraviolet light on the subject, a camera can have theability to sense and record the ultraviolet light within an image. Anyfrequency can be used within an exposure pattern like those in FIG. 2,FIG. 3, and FIG. 4.

In some implementations, more than one fish can be processed within asystem like system 100. For example, the pen 101 in FIG. 1 can show notonly the fish 109 but an additional fish. The additional fish can becaptured by the camera 105. Both the fish 109 and the additional fishcan be processed by control unit 120 and be data representing theirrespective detection results can be contained within the resultingdetection output 121. Any number of fish can be processed in this way.Possible limitations to the number of fish processed can exist inhardware or software used.

In some implementations, more than one exposure pattern can be used. Forexample, both pattern 200 from FIG. 2 and pattern 300 from FIG. 3 can beused. Combinations of patterns can bring alterations to a given patternand may result in a new pattern which can be used by a device. In someimplementations, patterns can be used based on external or internalstimuli. In some situations, it may be beneficial or desirable to chooseone exposure pattern over another or a specific combination of one ormore exposure patterns.

In some implementations, the exposure patterns may contain an additionallight or additional lights. The exposure pattern 200, 300, and 400 canbe modified with the addition of a light. In some implementations, morethan one light can be added. For example, in exposure pattern 200, anadditional light can fire between the illumination 202 and theillumination 205. The additional light can illuminate a given subject ina separate or similar frequency to the frequencies illuminated byilluminator 201 or illuminator 204. For example, the additional lightcan illuminate in ultraviolet. An exposure pattern can be altered. Forexample, the illumination of the ultraviolet light source can becaptured by an exposure after the exposure 207.

In some implementations, the exposure patterns may contain an additionalcamera or additional cameras. The exposure pattern 200, 300, and 400 canbe modified with the addition of a camera. In some implementations, morethan one camera can be added. For example, in exposure pattern 200, anadditional camera can be used to capture exposures after exposure 207.The additional camera can capture an exposure of a given subject in aseparate or similar frequency to the frequencies illuminated byilluminator 201 or illuminator 204. For example, the additional cameracan capture exposures of light in the ultraviolet spectrum. An exposurepattern can be altered. For example, an exposure capturing ultravioletlight can be added to the exposure pattern 200 after the exposure 207.

The sea lice on a fish can be detected anywhere within a field of viewof a camera. For example, the sea lice detected on a fish can be on anypart of the body. The part of body, location, or number can be includedwithin the detection output 121.

In some implementations, a system can alter detection techniques basedon detection circumstances. For example, in the case of various fishspecies, the detection method can be altered to use algorithmsassociated with the species or other types of frequency of illuminatorlight. Furthermore, water quality can be a circumstance of detectionthat could be registered by the system and alter following sea licedetections. For example, if the water is murky, an increase in thebrightness or quantity of lights used can be instigated and carried outby the system. Adjusting the lighting based on fish environmentconditions can be a part of the illuminator controller or a separatesubsystem depending on implementation. Detection techniques can also bealtered by the detection of a species of fish. For example, differentspecies could be considered a detection circumstance and registered bythe system. The registering of different species could invoke differentforms of detection methods.

Any alteration in sea lice detection method can result in alterations ofsea lice detection output and results. For example, if a sea licedetection method was altered based on the sighting of a particularspecies of salmon, the output can be altered to save the sea licedetection data with species-specific feature recognition. The output canalso be altered to include mitigation techniques tailored to theparticular species of salmon.

In some implementations, more than two modes of light can be used in anexposure pattern. For example, instead of blue and red light, anexposure pattern can use a blue light, a red light, and a yellow light.

In some implementations, other ranges of light can be used to illuminatethe subject for image capture. For example, instead of visible light, asystem can use ultraviolet light.

The process 500 can also be useful in detecting other conditions. Forexample, skin lesions on a fish can be detected using similar methodsand processes. In some implementations, instead, or in addition to,analyzing images illuminated by different frequencies of light forelements denoting sea lice infection, a system can perform otheranalysis. For example, a system can analyze images illuminated bydifferent frequencies of light for elements denoting skin lesions orphysical deformities such as shortened operculum.

In some implementations, a lighting controller can use a blueilluminator composed of light with multiple wavelengths. For example, agraph of output power versus wavelength for blue light can resemble agaussian shape with peak power at 465 nm wavelength and 10% power at 450nm and 495 nm wavelengths. Other implementations could have differentproportions of wavelengths or different ranges of wavelengths. Forexample, a graph of output power versus wavelength for blue light canresemble a gaussian shape with peak power at 460 nm and 0% power at 455nm and 485 nm wavelengths.

In some implementations, a lighting controller can use a red illuminatorcomposed of light with multiple wavelengths. For example, a graph ofoutput power versus wavelength for red light can resemble a gaussianshape with peak power at 630 nm wavelength and 10% power at 605 nm and645 nm. Other implementations could have different proportions ofwavelengths or different ranges of wavelengths. For example, a graph ofoutput power versus wavelength for red light can resemble a gaussianshape with peak power at 635 nm and 0% power at 610 nm and 640 nmwavelengths.

FIGS. 6A, 6B, and 6C are diagrams of custom Bayer filters for use withinsea lice detection.

FIG. 6A includes two different color filters on the pixel array 600. Thepixel array 600 can be used in fish imaging. Pixel 602 corresponds withthe color filter red. Pixel 603 corresponds with the color filter blue.Pixel array 600 is partially filled for illustration purposes. Matchingpattern and shading on two or more pixels of the array 600 denotespixels of the same filter type. By adjusting a normal Bayer filter, thepixel array 600 can increase a camera's light sensitivity for keyfrequencies. In some implementations of sea lice detection, these keyfrequencies are red light (e.g., 625 nm to 780 nm wavelength) and bluelight (e.g., 450 nm to 485 nm wavelength). The color filters on thepixel array 600 correspond to these frequencies. In the arrangementshown in pixel array 600, the amount of light captured in both the redand blue spectrum is effectively doubled compared with a normal red,green and blue pixel array used in some standard cameras.

In some implementations, the additional light sensitivity can reduce thenumber of images that need to be captured for sea lice detection. Forexample, a scene could be illuminated with both blue and red LEDssimultaneously. A camera could then capture an image. In someimplementations, separate images could be extracted from the red andblue components of a single image.

In some implementations, the color arrangement can be swapped. Forexample, blue pixels can take the place or red pixels and vice versa.

In some implementations, color filters able to transmit different rangesof wavelengths can be used. For example, the pixels able to registerblue light like item 603 in pixel array 600 could be swapped with pixelsable to register ultraviolet light.

FIG. 6B is another custom Bayer filter which includes three differentcolor filters on the pixel array 610. Pixel 612 corresponds with thecolor filter blue. Pixel 614 corresponds to a blank color filter whichallows all wavelengths to register evenly. Pixel 616 corresponds withthe color filter red. Pixel array 610 is partially filled forillustration purposes. Matching pattern and shading on two or morepixels of the array 610 denotes filters of the same type. By adjusting anormal Bayer filter, the pixel array 610 allots equal amount of pixelsfor each channel (e.g., red filter channel, blue filter channel, blankfilter channel). The structure is uniform and can potentially be moreeasily interpreted by neural networks working with output images. Thecolor filters can accept light with wavelength within a particular range(e.g., 625 nm to 780 nm for the red filter 616, 450 nm to 485 nm for theblue filter 612, and the full visible spectrum for the blank filter614). In some implementations, the color arrangement can be flipped.

In some implementations, the additional light sensitivity can reduce thenumber of images that need to be captured for sea lice detection. Forexample, a scene could be illuminated with both blue and red LEDssimultaneously. A camera could then capture a single image and from thatimage, separate images could be extracted for both the red and bluecomponents.

In some implementations, the color arrangement can be flipped. Forexample, blue pixels can take the place or red pixels and vice versa.

In some implementations, color filters able to transmit different rangesof wavelengths can be used. For example, the pixels able to registerblue light like item 612 in pixel array 610 could be swapped with pixelsable to register ultraviolet light.

FIG. 6C is another custom Bayer filter which includes three differentcolor filters on the pixel array 620. Pixel 622 corresponds with thecolor filter red. In this implementation, the red color filter of pixel622 allows light to pass through if the wavelength of the light iswithin the range 625 nm to 780 nm. Pixel 624 corresponds with the colorfilter blue, in this implementation allowing light through withwavelength within the range 450 nm to 485 nm. Pixel 626 corresponds to ablank color filter which allows, in this implementation, all wavelengthsto register evenly. Pixel array 610 is partially filled for illustrationpurposes.

Matching pattern and shading on two or more pixels of the array 620denotes filters of the same type. By adjusting a normal Bayer filter,the pixel array 620 creates smaller two by two windows (i.e. a group offour mutually connected pixels forming a square) made up of the specificfilter channels used (e.g., red filter channel, blue filter channel,blank filter channel). This type of structure has the advantage ofgranularity as well as applications for other fish relatedidentification work. For example, for applications in which images areneeded in more light wavelengths than just red and blue, the blankfilter data can be used. In this way, the pixel array 620 is well suitedfor full spectrum photography as well as sea lice detection specificphotography concentrated within the wavelengths specified of red andblue. In some implementations, the color arrangement can be flippedwhile maintaining the general pattern.

In some implementations, the additional light sensitivity can reduce thenumber of images that need to be captured for sea lice detection. Forexample, a scene could be illuminated with both blue and red LEDssimultaneously. A camera could then capture an image. In someimplementations, separate images could be extracted from the red andblue components of a single image.

In some implementations, the arrangement of pixels can be changed whilepreserving the overall pattern. For example, the locations of red pixelssimilar to red pixel 622 and blue pixels similar to blue pixel 624 canbe switched while preserving the overall pattern and benefits of thecell array 620 as shown.

In some implementations, color filters able to transmit different rangesof wavelengths can be used. For example, the pixels able to registerblue light like item 624 in pixel array 620 could be swapped with pixelsable to register ultraviolet light.

FIG. 7 is a diagram which shows a system 700 comprised of an incidentlight beam 701, a primary lens 702, a beam splitter 704, a red filter705, a blue filter 706, a camera 707, and another camera 708. The system700 can be used for image collection.

The incident light beam 701 can be the light from an exposure of a fishwithin a pen. The primary lens 702 can be made out of glass and can helpdirect the light towards the beam splitter 704. In some implementations,additional lenses or mirrors can be used for focusing the incident beam.

The beam splitter 704 is constructed such that a portion of the incidentbeam 701 is reflected and a portion of the incident beam 701 istransmitted creating two beams of light from the incident beam 701.Additional optical elements not shown can be used within the beamsplitter 704 and other devices within the system 700. For example,within the beam splitter 704 can be multiple lenses and mirrors as wellas gluing and connecting agents.

The red filter 705 and the blue filter 706 can be tuned to allowspecific frequency light through. For example, the red filter 705 can betuned to allow only light with wavelength between 620 nm and 750 nm. Theblue filter 706 can be tuned to allow only light with wavelength between440 nm and 485 nm.

The camera 707 and the camera 708 can capture a light beam using a lightdetector. The light detector captures incoming light and creates animage. For example, the light detector can encode the captured light asa list of pixels with color and intensity. The pixel information can bestored as an image and can be used by other devices and systems.

Stage A of FIG. 7 shows the incident beam 701 moving to the lens 702.The incident beam 701 can be the light from an exposure of a scene. Forexample, the incident beam can be comprised of the light reflected off afish swimming in a pen.

Stage B of FIG. 7 shows the incident beam 701 split by the beam splitter704. The beam splitter 704 can have multiple lenses and mirrors used todirect the two outbound light beams.

Stage C of FIG. 7 shows the output of the beam splitter 704 passingthrough the red filter 705. The light before the red filter 705 can beany wavelength reflected or transmitted from the beam splitter 704. Thelight after the red filter 705 can be any wavelength within the range ofthe filter (e.g., 620 nm and 750 nm).

Stage C′ of FIG. 7 shows the output of the beam splitter 704 passingthrough the blue filter 706. The beam passing through the red filter 705and the blue filter 706 can be separate such that light passing throughthe red filter 705 does not also pass through the blue filter 706. Thelight before the blue filter 706 can be any wavelength reflected ortransmitted from the beam splitter 704. The light after the blue filter706 can be any wavelength within the range of the filter (e.g., 440 nmand 485 nm).

Stage D of FIG. 7 shows the output of the red filter 705 reaching thecamera 707. The camera 707 can use a light detector to capture theincoming light from the red filter 705 and create an image. This imagecan be a stored group of pixels with colors and intensities. Imagescaptured by the camera 707 can be used for sea lice detection.

Stage D′ of FIG. 7 shows the output of the blue filter 706 reaching thecamera 708. The camera 708 can use a light detector to capture theincoming light from the blue filter 706 and create an image. This imagecan be a stored group of pixels with colors and intensities. Imagescaptured by the camera 708 can be used for sea lice detection.

Possible advantages of the system 700 is that it preserves the spatialresolution of each channel. It is also easier to construct color filters(e.g., red filter 705, blue filter 706) than the devices in some otherimage collection methods (e.g., custom image chips requiring per pixelaccuracy). Simple colored optical filters can be manufactured. Somepotential drawbacks include the cost of the beam splitter 704 and thefact that after splitting, the light captured by camera 707 and camera708 will be less intense than the incident beam 701. This can bealleviated with a greater intensity light on the subject of the imagebut greater intensity light can affect the subject's behavior. Forexample, a more intense light may scare fish away from the field of viewcaptured by the incident beam 701. This could result in feweropportunities to collect images of fish.

FIG. 8 is a diagram which shows the system 800 comprised of an incidentbeam 801, a primary lens 802, a spinning mirror 804, a red filter 805, ablue filter 806, a camera 807, and another camera 808. The system 800can be used for image collection. In some implementations, imagescollected can be used in the process of detecting sea lice.

The incident light beam 801 can be the light from an exposure of a fishwithin a pen. The primary lens 802 can be made out of glass and can helpdirect the light towards the spinning mirror 804. In someimplementations, additional lenses or mirrors can be used for focusingthe incident beam.

The spinning mirror 804 is constructed such that the incident beam 801is reflected at an angle. Two angles vital to the system 800 is theangle which reflects the incident beam 801 towards the red filter 805and camera 807 and the angle which reflects the incident beam 801towards the blue filter 806 and the camera 808. These two angles can beseparate portions of a rotation of the spinning mirror 804. Additionaloptical elements not shown can be used within the spinning mirror 804and other devices within the system 800. For example, before or afterthe spinning mirror 704 can be multiple lenses and mirrors as well asgluing and connecting agents.

The red filter 805 and the blue filter 806 can be tuned to allowspecific frequency light through. For example, the red filter 805 can betuned to allow only light with wavelength between 620 nm and 750 nm. Theblue filter 806 can be tuned to allow only light with wavelength between440 nm and 485 nm.

The camera 807 and the camera 808 can capture a light beam using a lightdetector. The light detector captures incoming light and creates animage. For example, the light detector can encode the captured light asa list of pixels with color and intensity. The pixel information can bestored as an image and can be used by other devices and systems.

Stage A of FIG. 8 shows the incident beam 801 moving to the lens 802.The incident beam 801 can be the light from an exposure of a scene. Forexample, the incident beam can be comprised of the light reflected off afish swimming in a pen.

Stage B of FIG. 8 shows the incident beam 801 reflected by the spinningmirror 804. The spinning mirror 804 can have multiple lenses and mirrorsused to accept and direct the outbound light beam.

Stage C of FIG. 8 shows the output of the spinning mirror 804 passingthrough the red filter 805. The light before the red filter 805 can beany wavelength reflected by the spinning mirror 804. The light after thered filter 805 can be any wavelength within the range of the filter(e.g., 620 nm and 750 nm).

Stage C′ of FIG. 8 shows the blue filter 805. During the course of arotation for the spinning mirror 804, the output of the spinning mirror804 can be directed towards the blue filter 806. The directed light canpass through the blue filter 806. The light before the blue filter 806can be any wavelength reflected or transmitted from the mirror 804. Thelight after the blue filter 806 can be any wavelength within the rangeof the filter (e.g., 440 nm and 485 nm). The cases of output from thespinning mirror 804 can be separate such that light passing through thered filter 805 does not also pass through blue filter 806.

Stage D of FIG. 8 shows the output of the red filter 805 reaching thecamera 807. The camera 807 can use a light detector to capture theincoming light from the red filter 805 and create an image. This imagecan be a stored group of pixels with colors and intensities. Imagescaptured by the camera 807 can be used for sea lice detection.

Stage D′ of FIG. 8 shows the camera 808. During the course of a rotationfor the spinning mirror 804, the output of the spinning mirror 804 canbe directed towards the blue filter 806. The output of the blue filter806 can be directed towards the camera 808. The camera 808 can use alight detector to capture the incoming light from the blue filter 806and create an image. This image can be a stored group of pixels withcolors and intensities. Images captured by the camera 808 can be usedfor sea lice detection.

The spinning mirror 804 can rotate at high speed and direct the portionof the incident beam 801 reflected from the spinning mirror 804 into acamera (e.g., the camera 807, the camera 808). The process of rotatingthe spinning mirror 804 between directing light towards the camera 807or the camera 808 can introduce a slight delay between the two camerasas they take their images. The motion of rotation can also affect theperiod of exposure for camera 807 or camera 808. In someimplementations, the mirror can snap between locations which could allowfor longer imaging without warping due to the moving of the image.

FIG. 9 is a diagram which shows the system 900 for stereo camera imagecapture. The system 900 is comprised of an incident beam 901, anincident beam 902, a primary lens 904, a primary lens 905, a red filter906, a blue filter 907, a camera 909, and another camera 910. In someimplementations, the camera 909 and the camera 910 can be connected toform a stereo camera system. The system 900 can be used for imagecollection. In some implementations, images collected can be used in theprocess of detecting sea lice.

The incident light beams 901 and 902 can be the light from an exposureof a fish within a pen. The primary lenses 904 and 905 can be made outof glass and can help direct the light towards the red filter 906 or theblue filter 907. In some implementations, additional lenses or mirrorscan be used for focusing the incident beam.

The red filter 906 and the blue filter 907 can be tuned to allowspecific frequency light through. For example, the red filter 906 can betuned to allow only light with wavelength between 620 nm and 750 nm. Theblue filter 907 can be tuned to allow only light with wavelength between440 nm and 485 nm.

The camera 909 and the camera 910 can capture a light beam using a lightdetector. The light detector captures incoming light and creates animage. For example, the light detector can encode the captured light asa list of pixels with color and intensity. The pixel information can bestored as an image and can be used by other devices and systems.

Stage A of FIG. 9 shows the incident beams 901 and 902 moving towardsthe lenses 904 and 905 respectively. The incident beams 901 and 902 canbe light from simultaneous exposures of a scene. For example, theincident beams 901 and 902 can be comprised of the light reflected off afish swimming in a pen.

Stage B of FIG. 9 shows the incident beams 901 and 902 focused by lenses904 and 905 respectively. The light output from lens 904 and lens 905can be sent towards the red filter 906 and the blue filter 907. Theprocess of directing light towards the filters can be comprised ofmultiple lenses and mirrors.

Stage C of FIG. 9 shows the output of the lenses 904 and 905 passingthrough the red filter 906 and the blue filter 907 respectively. Thelight directed towards the red filter 906 can be any wavelengthtransmitted by the lens 904 or other optical element. The light afterthe red filter 906 can be any wavelength within the range of the filter(e.g., 620 nm and 750 nm). The light directed towards the blue filter907 can be any wavelength transmitted by the lens 905 or other opticalelement. The light transmitted through the blue filter 906 can be anywavelength within the range of the filter (e.g., 440 nm and 485 nm).

Stage D of FIG. 9 shows the output of the red filter 906 reaching thecamera 909. The output of the blue filter 907 can be directed towardsthe camera 910. The cameras 909 or 910 can use a light detector tocapture the incoming light from the filter (e.g., the red filter 906,the blue filter 907) to create an image. This image can be a storedgroup of pixels with colors and intensities. Images captured by thecamera 909 and the camera 910 can be used for sea lice detection.

The system 900, by employing stereo cameras each with a different colorfilter in front, allows the cameras to take pictures simultaneously withno reduction in incident light besides the losses in various opticalelements including the filters. This represents a possible advantageover other image capture techniques. A possible disadvantage of thestereo camera setup can include the introduction of parallax between thetwo images. For example, a pixel at coordinate (x, y) in an imagecaptured by camera 909 will not be the same as a pixel at coordinate (x,y) in an image captured by camera 910. The introduction of parallaxbetween two images can potentially complicate a multi-frame registrationprocess.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of the disclosure. For example, various formsof the flows shown above may be used, with steps re-ordered, added, orremoved.

Embodiments of the invention and all of the functional operationsdescribed in this specification can be implemented in digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructures disclosed in this specification and their structuralequivalents, or in combinations of one or more of them. Embodiments ofthe invention can be implemented as one or more computer programproducts, e.g., one or more modules of computer program instructionsencoded on a computer readable medium for execution by, or to controlthe operation of, data processing apparatus. The computer readablemedium can be a machine-readable storage device, a machine-readablestorage substrate, a memory device, a composition of matter affecting amachine-readable propagated signal, or a combination of one or more ofthem. The term “data processing apparatus” encompasses all apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, or multiple processors or computers.The apparatus can include, in addition to hardware, code that creates anexecution environment for the computer program in question, e.g., codethat constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, or a combination of one or moreof them. A propagated signal is an artificially generated signal, e.g.,a machine-generated electrical, optical, or electromagnetic signal thatis generated to encode information for transmission to suitable receiverapparatus.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, and it can bedeployed in any form, including as a stand alone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program can be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. The essential elements of a computer area processor for performing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto optical disks, or optical disks. However, a computerneed not have such devices. Moreover, a computer can be embedded inanother device, e.g., a tablet computer, a mobile telephone, a personaldigital assistant (PDA), a mobile audio player, a Global PositioningSystem (GPS) receiver, to name just a few. Computer readable mediasuitable for storing computer program instructions and data include allforms of non volatile memory, media and memory devices, including by wayof example semiconductor memory devices, e.g., EPROM, EEPROM, and flashmemory devices; magnetic disks, e.g., internal hard disks or removabledisks; magneto optical disks; and CD ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,special purpose logic circuitry.

To provide for interaction with a user, embodiments of the invention canbe implemented on a computer having a display device, e.g., a CRT(cathode ray tube) or LCD (liquid crystal display) monitor, fordisplaying information to the user and a keyboard and a pointing device,e.g., a mouse or a trackball, by which the user can provide input to thecomputer. Other kinds of devices can be used to provide for interactionwith a user as well; for example, feedback provided to the user can beany form of sensory feedback, e.g., visual feedback, auditory feedback,or tactile feedback; and input from the user can be received in anyform, including acoustic, speech, or tactile input.

Embodiments of the invention can be implemented in a computing systemthat includes a back end component, e.g., as a data server, or thatincludes a middleware component, e.g., an application server, or thatincludes a front end component, e.g., a client computer having agraphical user interface or a Web browser through which a user caninteract with an implementation of the invention, or any combination ofone or more such back end, middleware, or front end components. Thecomponents of the system can be interconnected by any form or medium ofdigital data communication, e.g., a communication network. Examples ofcommunication networks include a local area network (“LAN”) and a widearea network (“WAN”), e.g., the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of the invention or of what may beclaimed, but rather as descriptions of features specific to particularembodiments of the invention. Certain features that are described inthis specification in the context of separate embodiments can also beimplemented in combination in a single embodiment. Conversely, variousfeatures that are described in the context of a single embodiment canalso be implemented in multiple embodiments separately or in anysuitable subcombination. Moreover, although features may be describedabove as acting in certain combinations and even initially claimed assuch, one or more features from a claimed combination can in some casesbe excised from the combination, and the claimed combination may bedirected to a subcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

In each instance where an HTML file is mentioned, other file types orformats may be substituted. For instance, an HTML file may be replacedby an XML, JSON, plain text, or other types of files. Moreover, where atable or hash table is mentioned, other data structures (such asspreadsheets, relational databases, or structured files) may be used.

Particular embodiments of the invention have been described. Otherembodiments are within the scope of the following claims. For example,the steps recited in the claims can be performed in a different orderand still achieve desirable results.

What is claimed is:
 1. A computer-implemented method comprising:illuminating one or more fish with pairs of light pulses that eachinclude a pulse of red light and a pulse of blue light; controlling anexposure of a camera to (i) generate a first image of one or more of thefish during a pulse of one color of light during an initial pair oflight pulses, (ii) not generate an image during a pulse of an othercolor of light during the initial pair of light pulses as well as duringone or more succeeding pairs of light pulses, and (iii) generate asecond image of the one or more of the fish during a pulse of the othercolor of light during a subsequent pair of light pulses; and determiningwhether the one or more fish is likely affected by a particularcondition based on an analysis of at least the first image and thesecond image.
 2. The computer-implemented method of claim 1 wherein theparticular condition comprises a sea lice infection, an occurrence of alesion, or a physical deformity.
 3. The computer-implemented method ofclaim 1 wherein the one or more fish are contained within a fish pen ora fish run.
 4. The computer-implemented method of claim 1 wherein thepair of light pulses contains blue light with peak power within awavelength range of 450 nanometers to 480 nanometers.
 5. Thecomputer-implemented method of claim 1 wherein the pairs of light pulsesfeature an alternating rate of light pulses greater than 60 Hz.
 6. Thecomputer-implemented method of claim 1 wherein: generating an imagecomprises: exposing a camera device for at least a portion of a timeinterval between a start of a light pulse and an end of the light pulseto capture exposure data; or exposing a camera device for at least aportion of a time interval between an end of a light pulse and a startof a succeeding light pulse to capture exposure data.
 7. Thecomputer-implemented method of claim 1 wherein the light pulses within apair of light pulses are activated in discrete time intervals without anoverlap period.
 8. The computer-implemented method of claim 1 whereinelements of illuminating one or more fish or generating an image of oneor more fish are informed by machine learning.
 9. Thecomputer-implemented method of claim 1 wherein elements of sea licedetection are informed by machine learning.
 10. The computer-implementedmethod of claim 1 wherein an image buffer is used to store generatedimages.
 11. A computer-implemented method comprising: illuminating oneor more fish with pairs of light pulses that each include a pulse of redlight and a pulse of blue light; controlling an exposure of a camera to(i) generate a first image of one or more of the fish during a pulse ofone color of light during an initial pair of light pulses, (ii) generatea second image of the one or more of the fish during a pulse of an othercolor of light during the initial pair of light pulses, (iii) and notgenerate an image during one or more succeeding pairs of light pulses;and determining whether the one or more fish is likely affected by aparticular condition based on an analysis of at least the first imageand the second image.
 12. The computer-implemented method of claim 11wherein the particular condition comprises a sea lice infection, anoccurrence of a lesion, or a physical deformity.
 13. Thecomputer-implemented method of claim 11 wherein the pair of light pulsescontains blue light with peak power within a wavelength range of 450nanometers to 480 nanometers.
 14. The computer-implemented method ofclaim 11 wherein the pairs of light pulses feature an alternating rateof light pulses greater than 60 Hz.
 15. The computer-implemented methodof claim 11 wherein: generating an image comprises: exposing a cameradevice for at least a portion of a time interval between a start of alight pulse and an end of the light pulse to capture exposure data; orexposing a camera device for at least a portion of a time intervalbetween an end of a light pulse and a start of a succeeding light pulseto capture exposure data.
 16. A computer-implemented method comprising:illuminating one or more fish with pairs of light pulses that eachinclude a pulse of red light and a pulse of blue light; controlling anexposure of a camera to (i) generate a first image of one or more of thefish during a pulse of one color of light during an initial pair oflight pulses, (ii) not generate an image during a pulse of an othercolor of light during the initial pair of light pulses as well as duringa pulse of the one color of light during a succeeding pair of lightpulses, (iii) generate a second image of the one or more of the fishduring a pulse of the other color of light during the succeeding pair oflight pulses, (iv) not generate an image during a pulse of the one colorof light during a subsequent pair of light pulses as well as during apulse of the other color of light during the subsequent pair of lightpulses, and (v) generate a third image of the one or more of the fishafter the subsequent pair of light pulses but before a further pair oflight pulses; and determining whether the one or more fish is likelyaffected by a particular condition based on an analysis of at least thefirst image and the second image.
 17. The computer-implemented method ofclaim 16 wherein the particular condition comprises a sea liceinfection, an occurrence of a lesion, or a physical deformity.
 18. Thecomputer-implemented method of claim 16 wherein the pair of light pulsescontains blue light with peak power within a wavelength range of 450nanometers to 480 nanometers.
 19. The computer-implemented method ofclaim 16 wherein the pairs of light pulses feature an alternating rateof light pulses greater than 60 Hz.
 20. The computer-implemented methodof claim 16 wherein: generating an image comprises: exposing a cameradevice for at least a portion of a time interval between a start of alight pulse and an end of the light pulse to capture exposure data; orexposing a camera device for at least a portion of a time intervalbetween an end of a light pulse and a start of a succeeding light pulseto capture exposure data.